package common.interf;

import java.awt.image.BufferedImage;
import java.io.File;

public interface IImage {
	
	/**
	 * 缩放url图像
	 * @param inPath	: 输入Url
	 * @param path:输出路径
	 * @param width:  图形宽
	 * @param height: 图形高
	 * @param waterMark: 第一个元素为 watermark路径，第二个元素为位置，1：左上，2：右上，3：左下，4：右下，默认为1
	 * @return Object[]{文件名, width, height}
	 */
	public Object[] zoomImage(String inPath, String outPath,Integer width,Integer height,String...waterMark) throws Exception;
	
	
	/**
	 * 检查图片
	 * @param image:图像
	 * @param width:图片宽度
	 * @param height:图片高度
	 * @return 
	 */
	public boolean checkImage(BufferedImage img,Integer width,Integer height);
	
	/**
	 * 添加水印
	 * @param src		:原图
	 * @param watermark	:水印
	 * @param left		:水印左坐标
	 * @param top		:水印y坐标
	 */
	public void addWaterMark(String src,String watermark,Integer left,Integer top,String outPath)  throws Exception;
	
	/**
	 * 添加文字，返回文件名称
	 * @param src
	 * @param text
	 * @param left
	 * @param top
	 * @param outPath 输出路径
	 * @throws Exception
	 */
	public String addTextMark(String src, String text, Integer left, Integer top, String outFile) throws Exception;
	
	/**
	 * 检查图片
	 * @param file:图像文件
	 * @param fileType:要验证的文件类型
	 * @param size:文件大小
	 * @param width:图片宽度
	 * @param height:图片高度
	 * @return 
	 */
	public boolean checkImage(File file,Integer size,Integer width,Integer height);
	
	/**
	 * 检查图片
	 * @param inPath 图片路径
	 * @param width:图片宽度
	 * @param height:图片高度
	 * @return
	 */
	public boolean checkImage(String inPath, Integer width, Integer height) throws Exception;
	
	/**
	 * 获取图片宽高，
	 * @param imageUrl
	 * @return int数组，new int[]{width, height}
	 * @throws Exception
	 */
	public int[] getWH(String imageUrl) throws Exception;
}
